package com.leyou.cart.test;

import com.leyou.common.auth.entity.UserInfo;
import org.apache.commons.lang3.RandomStringUtils;

import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

public class ManyUserThread {

    // 使用这个map作为公共存储的区域，每个线程存储自己的东西： 线程安全
    private ThreadLocal<String> TL = new ThreadLocal<>();

    public void test(){
        // 5个线程： 模拟5个用户
        for (int i = 0; i < 5; i++){
            new Thread(new Runnable() {
                @Override
                public void run() {
                    // 模拟生成用户的id
                    String userId = RandomStringUtils.randomNumeric(8);
                    // 往公共的柜子存入用户信息
                    //localMap.put(Thread.currentThread(), userId);
                    TL.set(userId);
                    // 获取柜子中，当前线程下的用户信息
                    System.out.println(Thread.currentThread().getName()+"===>第一次获取用户信息： "+TL.get());
                    System.out.println(Thread.currentThread().getName()+"===>第二次获取用户信息： "+TL.get());
                }
            }).start();
        }
    }

    public static void main(String[] args) {
        new ManyUserThread().test();
    }
}
